If you use something like:
hDevInfo = SetupDiGetClassDevs (&GUID_CLASS_COMPORT, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
for (ii = 0; bOk; ii++)
bOk = SetupDiEnumDeviceInterfaces (hDevInfo, NULL, &GUID_CLASS_COMPORT, ii, &ifcData);
if (bOK) {
bOk = SetupDiGetDeviceInterfaceDetail (hDevInfo, &ifcData, pDetData, dwDetDataSize, NULL, &devdata);
hDevInfo = SetupDiGetClassDevs (&GUID_CLASS_COMPORT, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
for (ii = 0; bOk; ii++)
bOk = SetupDiEnumDeviceInterfaces (hDevInfo, NULL, &GUID_CLASS_COMPORT, ii, &ifcData);
if (bOK) {
bOk = SetupDiGetDeviceInterfaceDetail (hDevInfo, &ifcData, pDetData, dwDetDataSize, NULL, &devdata);
To copy to clipboard, switch view to plain text mode
(obviously you'll need some variables with the above too, and some more error checking. It's just a rough idea)
then you can get the friendly name like so:
bSuccess = SetupDiGetDeviceRegistryProperty (hDevInfo, &devdata, SPDRP_FRIENDLYNAME, NULL,
(PBYTE)fname, sizeof (fname), NULL);
bSuccess = SetupDiGetDeviceRegistryProperty (hDevInfo, &devdata, SPDRP_FRIENDLYNAME, NULL,
(PBYTE)fname, sizeof (fname), NULL);
To copy to clipboard, switch view to plain text mode
You can also gets lots of other stuff, see http://msdn.microsoft.com/en-us/library/ms792967.aspx
(Obviously this is Windows specific)
Bookmarks